home *** CD-ROM | disk | FTP | other *** search
/ The PC-SIG Library 10 / The PC-Sig Library - Shareware for the IBM PC and Compatibles (PC-SIG)(Tenth Edition Disks 1-2804)(1991).iso / PC_SIGCD / 10 / 9 / DISK1095.ZIP / RECEIVE.PRG < prev    next >
Text File  |  1980-01-01  |  2KB  |  78 lines

  1. * RECEIVE
  2. * PRINT AGED ACCOUNTS RECEIVABLE REPORT
  3. SET HEADING OFF
  4. SET SAFETY OFF
  5. SET STATUS OFF
  6. CLEAR
  7. CLEAR ALL
  8. SET TALK OFF
  9. SET BELL OFF
  10. @ 1,22 SAY "SMITH'S BIKEWORKS INFORMATION SYSTEM"
  11. @ 3,21 SAY ">> Aged Accounts Receivable Report <<"
  12. @ 5,29 SAY "Today's Date: "
  13. ?? DATE()
  14. STORE " " TO ACTION
  15. @ 22,6 SAY "PRESS 'M' TO RETURN TO MENU, ANY OTHER KEY TO START OUTPUT => " ;
  16. GET ACTION
  17. READ
  18. STORE UPPER(ACTION) TO ACTION
  19. IF ACTION="M"
  20.    RETURN
  21. ENDIF
  22. * OPEN ACCOUNTS RECEIVABLE FILE USING CUSTOMER + DATE INDEX
  23. USE RECFILE INDEX RFCUSTDT
  24. SET PRINT ON
  25. SET DEVICE TO PRINT
  26. SET CONSOLE OFF
  27. GO TOP
  28. STORE 0 TO RECNOW
  29. STORE 1 TO PAGENUM
  30. DO WHILE .NOT. EOF()
  31. * PRINT HEADING
  32.    @ 2,3 SAY "SMITH'S BIKEWORKS AGED ACCOUNTS RECEIVABLE REPORT FOR "
  33.    ?? DATE(), " PAGE:", STR(PAGENUM,3,0)
  34.    @ 4,0 SAY "Customer"
  35.    @ 4,25 SAY "Inv ID"
  36.    @ 4,32 SAY "Due Date"
  37.    @ 4,42 SAY "Current"
  38.    @ 4,52 SAY "30-Day"
  39.    @ 4,62 SAY "60-Day"
  40.    @ 4,72 SAY "90-Day"
  41. * PRINT ONE PAGE OF OUTPUT
  42.    STORE 6 TO LINECNT
  43.    DO WHILE LINECNT<60
  44. * ONLY PRINT INVOICES WITH NON-ZERO AMOUNTS
  45.       IF AMOUNT>0
  46.          @ LINECNT,0 SAY CUSTOMER
  47.          @ LINECNT,25 SAY INVOICE_ID
  48.          @ LINECNT,32 SAY DATE_DUE
  49.          DO CASE
  50.              CASE DATE_DUE<=DATE()-90
  51.                @ LINECNT,70 SAY AMOUNT
  52.              CASE DATE_DUE<=DATE()-60
  53.                @ LINECNT,60 SAY AMOUNT
  54.              CASE DATE_DUE<=DATE()-30
  55.                @ LINECNT,50 SAY AMOUNT
  56.             OTHERWISE
  57.                @ LINECNT,40 SAY AMOUNT
  58.          ENDCASE
  59.          STORE LINECNT+1 TO LINECNT
  60.       ENDIF
  61. * STAY IN LOOP WHILE SKIP YIELDS A NEW RECORD
  62.       STORE RECNO() TO RECNOW
  63.       IF .NOT. EOF()
  64.           SKIP 1
  65.       ENDIF
  66.       IF RECNOW=RECNO()
  67.          STORE 60 TO LINECNT
  68.       ENDIF
  69.    ENDDO
  70.    EJECT
  71.    STORE PAGENUM+1 TO PAGENUM
  72. ENDDO
  73. SET PRINT OFF
  74. SET CONSOLE ON
  75. SET DEVICE TO SCREEN
  76. CLEAR
  77. RETURN
  78.